import gcoord from 'gcoord'

export function stringToArrayBuffer(string) { // 字符串转换为二进制数组
    const buffer = new ArrayBuffer(string.length)
    const view = new Uint8Array(buffer)
    for (let i = 0; i !== string.length; ++i) {
        view[i] = string.charCodeAt(i) & 0xFF
    }
    return buffer
}

/**
 * 判断是否外链
 * @param path
 * @returns {boolean}
 */
export function isExternal(path) {
    return /^(https?:|mailto:|tel:)/.test(path)
}

/**
 * @param {string} str
 * @returns {Boolean}
 */
export function isString(str) {
    return typeof str === 'string' || str instanceof String
}

/**
 * @param {Array} arg
 * @returns {Boolean}
 */
export function isArray(arg) {
    if (typeof Array.isArray === 'undefined') {
        return Object.prototype.toString.call(arg) === '[object Array]'
    }
    return Array.isArray(arg)
}

/**
 * 判断一个值是否为空。
 * 为空的定义包括：null、undefined、空字符串''。
 * @param {*} value - 需要检查的值。
 * @returns {boolean} - 如果值为空，则返回true；否则返回false。
 */
export function IsEmpty(value) {
    // 检查value是否为null、undefined或空字符串
    return value === null || value === undefined || value === ''
}

/**
 * 判断一个值是否不为空。
 * @param value
 * @returns {boolean}
 * @constructor
 */
export function IsNotEmpty(value) {
    return value !== null && value !== undefined && value !== ''
}
